import request from '@/utils/request';

/**
 * 读取用户详情的基础信息
 * @param {*} id
 * @returns
 */
export function getPersonalDetail(id) {
  return request({
    url: `/employees/${id}/personalInfo`,
  });
}

/**
 * 更新用户详情的基础信息
 * @param {*} data
 * @returns
 */
export function updatePersonal(data) {
  return request({
    url: `/employees/${data.userId}/personalInfo`,
    method: 'put',
    data,
  });
}

/**
 * 获取用户的岗位信息
 * @param {*} id
 * @returns
 */
export function getJobDetail(id) {
  return request({
    url: `/employees/${id}/jobs`,
  });
}

/**
 * 保存岗位信息
 * @param {*} data
 * @returns
 */
export function updateJob(data) {
  return request({
    url: `/employees/${data.userId}/jobs`,
    method: 'put',
    data,
  });
}

/**
 * 保存员工的基本信息
 * @param {*} data
 * @returns
 */
export function saveUserDetailById(data) {
  return request({
    url: `/sys/user/${data.id}`,
    method: 'put',
    data,
  });
}

/**
 * 批量添加员工
 * @param {*} data 员工对象数组
 * @returns
 */
export function batchAddEmployee(data) {
  return request({
    method: 'POST',
    url: '/sys/user/batch',
    data,
  });
}

/**
 * 新增员工
 * @param {object} data 表单数据 {
    "username": 姓名,
    "mobile": 手机号,
    "formOfEmployment": 聘用形式,
    "workNumber": 工号,
    "departmentName": 部门,
    "timeOfEntry": 入职时间,
    "correctionTime": 转正时间
  }
 * @returns 
 */
export function addEmployee(data, loadingOptions) {
  return request({
    method: 'POST',
    url: '/sys/user',
    data,
    loadingOptions,
  });
}

/**
 * 删除员工
 * @param {*} id
 * @returns
 */
export function delEmployee(id) {
  return request({
    url: `/sys/user/${id}`,
    method: 'delete',
  });
}

/**
 * 获取员工列表
 * @returns
 */
export const getEmployeeList = params =>
  request({
    url: '/sys/user',
    params,
  });

/**
 * 获取员工列表（简单数据）
 * @param {object} loadingOptions 加载选项
 * @returns
 */
export const getEmployeeSimple = loadingOptions =>
  request({
    url: '/sys/user/simple',
    loadingOptions,
  });
